﻿package com.ease.platform.model.type
{
	import com.ease.common.enums.OptionalEnum;
	import com.ease.lang.Enum;
	import com.ease.lang.EnumConstants;
	import com.ease.platform.model.type.PermissionDimensionType;

	[Bindable]
	[RemoteClass(alias="com.ease.platform.model.type.PermissionDimensionType")]

	public class PermissionDimensionType extends Enum
	{
		/* static init */
		{ initEnum(PermissionDimensionType); }

		/* Constants */
		public static const UserDefaultDimension:PermissionDimensionType = new PermissionDimensionType("UserDefaultDimension", 11, "自用户的默认维度");
		public static const UserMenuDimension:PermissionDimensionType = new PermissionDimensionType("UserMenuDimension", 14, "自用户的主菜单");
		public static const UserRightClickMenuDimension:PermissionDimensionType = new PermissionDimensionType("UserRightClickMenuDimension", 16, "自用户的右键菜单");
		public static const UserButtonDimension:PermissionDimensionType = new PermissionDimensionType("UserButtonDimension", 15, "自用户的按钮");
		public static const UserPerspectiveViewDimension:PermissionDimensionType = new PermissionDimensionType("UserPerspectiveViewDimension", 18, "自用户的透视图");
		public static const UserExplorerDimension:PermissionDimensionType = new PermissionDimensionType("UserExplorerDimension", 17, "自用户的文件夹");
		public static const UserLocationDimension:PermissionDimensionType = new PermissionDimensionType("UserLocationDimension", 12, "自用户的区域维度");
		public static const UserNetworkSpecialtyDimension:PermissionDimensionType = new PermissionDimensionType("UserNetworkSpecialtyDimension", 13, "自用户的专业维度");
		public static const UserGroupDefaultDimension:PermissionDimensionType = new PermissionDimensionType("UserGroupDefaultDimension", 31, "自用户所属用户组的默认维度");
		public static const UserGroupLocationDimension:PermissionDimensionType = new PermissionDimensionType("UserGroupLocationDimension", 32, "自用户所属用户组的区域维度");
		public static const UserGroupNetworkSpecialtyDimension:PermissionDimensionType = new PermissionDimensionType("UserGroupNetworkSpecialtyDimension", 33, "自用户所属用户组的专业维度");

		private var _value:int;
		private var _text:String;

		/*public*/ function PermissionDimensionType(name:String=null ,value:int=0 ,text:String=null) {
			super.name = name;
			this._value = value;
			this._text = text;
		}

		public function get value():int  { return this._value; }
		public function get text():String  { return this._text; }

		/* constant query */
		public static function getEnumConstants():Array {
			return Enum.getEnumConstants(PermissionDimensionType);
		}

		public static function get(constantName:String, caseSensitive:Boolean = false):PermissionDimensionType {
			return PermissionDimensionType(Enum.get(PermissionDimensionType, constantName, caseSensitive));
		}
	}
}